package com.wolfeyes.common.core.enums.common;

/**
 * 
 * @descript 公共信息-常用的编码类型信息枚举管理
 * @projectName film
 * @className CodeTypeEnum.java
 * @author yanyljava
 * @since 2017年07月09日下午5:37:39
 * @createTime 2018年07月09日 下午17:04:13
 * @version 1.0.0
 * @return String
 * @throws Exception
 */
public enum CodeTypeEnum {
	
	/**
	 * 文本编码；
	 */
	TEXT(0, "text/plain; charset=utf-8"),
	
	/**
	 * JSON格式；
	 */
	JSON(1, "application/json;charset=UTF-8"),
	
	/**
	 * default格式（例如：form表单提交）；
	 */
	DEFAULT(2, "application/x-www-form-urlencoded;charset=utf-8"),
	
	/**
	 * 图片编码；
	 */
	IMAGE(3, "image/jpeg; charset=utf-8"),
	
	/**
	 * UTF-8编码；
	 */
	UTF8(4, "UTF-8"),
	
	/**
	 * ISO编码；
	 */
	ISO(5, "ISO-8859-1"),
	
	/**
	 * GBK编码；
	 */
	GB2312(6, "GB2312"),
	
	/**
	 *  图片格式；
	 */
	IMAGETYPE(7, "JPEG");

	// 类型编号
	private final Integer type;
	
	// 类型名称
	private final String value;

	CodeTypeEnum(Integer type, String value) {
        this.value = value;
        this.type = type;
    }

    public static String getValue(int type) {
    	CodeTypeEnum[] accountTypes = CodeTypeEnum.values();
        if (accountTypes != null && accountTypes.length > 0){
            for (CodeTypeEnum accountType : accountTypes){
                if (accountType.type == type){
                    return accountType.value;
                }
            }
        }
        return null;
    }
    
    public int getType() {
        return type;
    }
    
    public String getValue() {
        return value;
    }
    
    public static CodeTypeEnum getTypeEnume(int type){
    	CodeTypeEnum[] accountTypes = CodeTypeEnum.values();
        if (accountTypes != null && accountTypes.length > 0){
            for (CodeTypeEnum accountType : accountTypes){
                if (accountType.type == type){
                    return accountType;
                }
            }
        }
        return null;
    }
}